package com.tl.ip_location_relation_v4.utils;

import redis.clients.jedis.Jedis;

/**
 * 
 * @author Antg
 * @date 2021年7月13日
 * @Description 将新查询到的数据和热点数据缓存到redis中
 */
public class RedisCacheUtil {
	/**
	 * 
	 * @author Antg
	 * @date 2021年7月13日
	 * @param <br>
	 *            Jedis jedis redis操作对象 <br>
	 *            String ip 要缓存的ip地址<br>
	 *            String location ip地址对应的所属地
	 * @return null
	 * @Description 将数据缓存到redis中,不设置过期时间
	 */
	public static void cacheToRedisNoLimitTime(Jedis jedis, String ip,
			String location) {
		// 先判断是否存在
		boolean keyExist = jedis.exists(ip);
		// 如果不存在才设置
		if (!keyExist) {
			jedis.set(ip, location);
		}
	}

	/**
	 * 
	 * @author Antg
	 * @date 2021年7月13日
	 * @param <br>
	 *            Jedis jedis redis操作对象 <br>
	 *            String ip 要缓存的ip地址<br>
	 *            String location ip地址对应的所属地<br>
	 *            int limitTime 过期时间(单位秒)
	 * @return null
	 * @Description 将数据缓存到redis中,设置过期时间
	 */
	public static void cacheToRedisLimitTime(Jedis jedis, String ip,
			String location, int limitTime) {
		// 先判断是否存在
		boolean keyExist = jedis.exists(ip);
		// 如果不存在才设置
		if (!keyExist) {
			jedis.set(ip, location);
			jedis.expire(ip, limitTime);
		}
	}

	/**
	 * 
	 * @author Antg
	 * @date 2021年7月13日
	 * @param <br>
	 *            Jedis jedis redis操作对象 <br>
	 *            String ip 要查询的ip地址<br>
	 * @return
	 * @Description 获取缓存中的ip地址
	 */
	public static String getCache(Jedis jedis, String ip) {
		return jedis.get(ip);
	}

}
